Many businesses use multiple databases and applications to store vast amounts of data. For example, an organization may use a customer relationship management system database to store contact information for thousands or even hundreds of thousands of customers. Additional customer contact information may also be stored in other systems, such as an accounts payable system database or business intelligence system data warehouse. As organizations increase the number of databases and amount of data being stored, it becomes increasingly time consuming to search for specific data.
FIG. 1, for example, shows several database tables 110, 120, 130, 140, and 150. Each of these database tables may be stored in one or more databases on one or more computing systems. For example, table 110 may be stored in a first computing system, while tables 120 and 130 may be stored in a second computing system. Each of these computing systems may store, structure, and format the database tables differently. As the number of tables and computing system structures increases, it takes longer to search through data in each of the tables for specific information.
Even if the data is stored in a single table on a single system, data searches take longer as the table size increases. For example, searching multiple data fields, such as NAME1, NAME2, and CITY, in table 110 for partial entries with the letters “hans” can take several seconds or longer as the number of entries stored in the table increases. One common reason is because in this type of search, a SQL “like” statement is typically used, which requires a full scan of data fields. These full scans cannot typically be expedited using database indexes or other similar techniques. The longer data searches take, the more dissatisfied and impatient users become.
There is a need for faster searching of multiple data fields in databases storing large amounts of data.